値が NULL のフィールドは、値のないフィールドです。
テーブル内のフィールドがオプションの場合、そのフィールドに値を追加せずに、新しいレコードを挿入したり、レコードを更新したりできます。 その後、フィールドは NULL 値で保存されます。
=、<、<> などの比較演算子を使用して NULL をテストすることはできません。
代わりに、IS NULL 演算子と IS NOT NULL 演算子を使用する必要があります。
SELECT column_names
FROM table_name
WHERE column_name IS NULL
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL
以下は、Northwind データベースの Customers テーブルのサンプルです。
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
IS NULL 演算子は、空の値 (NULL 値) をテストするために使用されます。
次の SQL クエリは、「Address」フィールドに NULL 値を持つすべての顧客をリストします。
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL
IS NOT NULL 演算子は、空でない値 (NOT NULL 値) をチェックするために使用されます。
次の SQL クエリは、フィールド「Address」の値を持つすべての顧客をリストします。
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL